package com.ticket.sass.admin.dto.input.order.group;

import com.ticket.sass.admin.dto.input.PageInput;
import com.ticket.sass.admin.validator.InEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.Valid;
import java.time.LocalDate;
import java.util.List;

/**
 * @author ywb
 * @date 2024-08-14 17:18
 */
@Data
@ApiModel
public class OrderGroupListInput extends PageInput {
    @ApiModelProperty(value = "订单号")
    private String orderNo;
    
    @ApiModelProperty(value = "手机号码")
    private String cellphone;
    
    @ApiModelProperty(value = "用户ID")
    private List<Long> userIds;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "有效日期开始")
    private LocalDate startDate;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "有效日期结束")
    private LocalDate endDate;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "场次开始时间")
    private LocalDate sessionStartDate;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "场次结束时间")
    private LocalDate sessionEndDate;
    
    @Valid
    @ApiModelProperty(value = "支付类型：1 微信，2 支付宝，3 会员卡")
    private List<@InEnum(intValues = {1, 2, 3}) Short> payTypes;
    
    @Valid
    @ApiModelProperty(value = "支付状态：0 未支付（不显示） 1 支付中，2 已支付，3 支付失败，4 退款中，5 已退款")
    private List<@InEnum(intValues = {1, 2, 3, 4, 5}) Short> payStatusList;
}
